Noratetsu Lab

動じないために。

タグの定義・詳細

Protean Outliner

カード式アウトライナーと称した機能を搭載している自作ツール。
…だったのだが、実際にはカード式というよりルーズリーフ式アウトライナーだった。イメージとしてはEvernoteの本文部分がアウトライナーになっているようなもの。

実装した機能

  • 基本機能
    • メタデータ+アウトライナー+プレーンテキストが情報の一単位(これを「カード」と呼んでいる)
    • 分類に応じてカードをツリー状に配置
      • 表示する分類は指定可能
    • カードのアーカイブ
    • カード間のリンク
      • +バックリンクの表示
  • 追加機能
    • プレーンテキスト部分を別途ポップアップ表示する機能(執筆補助)
      • +文字数カウント
    • カードを付箋としたホワイトボード機能
    • カード内でアウトラインの各項目を付箋としたホワイトボード機能
    • 複数のカードのプレーンテキスト部分を同時に編集する機能(長文執筆補助)
      • +それらを連結してひとつのtxtファイルとして出力する機能
        など

記事

Screenshot

画像

Backlinks

他の「のらてつ製デジタルノートツール」カテゴリの語句

「Protean Outliner」タグの記事一覧

2022/07/21

ツール製作日誌:カード式アウトライナー③カードっていうかルーズリーフだった編

 前に自作の「カード式アウトライナー」についてブログに書いた。ツール製作日誌:カード式アウトライナー②背景説明編
 これは二ヶ月ほど前から作り始めたもので毎日バリバリ使っているのだが、想定とちょっと違った使用感になっているので、そのことについて日記として書き留めておこうと思う。なお記事中でこのツールを指す呼称がないと不便なので、とりあえず自分のための愛称としてつけている「Protean Outliner」と書くことにする。


画像

 まず、これは「カード式」なのか? という疑問が立ち上がっている。コンセプトを根底から覆すような疑念なのだが、当初イメージしていた「カード」と、実際的な意味での「カード」が違っていたために少し想像から外れたところがある。
 背景説明編ツール製作日誌:カード式アウトライナー②背景説明編にて自分で「Evernoteの本文部分がアウトライナーになっているようなものかもしれない」と書いたのだが、まさしくそうで、これはカテゴリとしてはEvernoteと同種のものだった。カードではなくノート(大学ノートやリングノートの意味での「ノート」)の流れである。私が「カードボックス」としてイメージした構造は、実際にはルーズリーフのバインダーだった。
 アウトライナー部分がアウトライン構造から解放された状態というのが、このツールを作る前の時点では私の中でちょっと革命的だったし、「ばらせるもの」というイメージに基づいて「カード風」と捉えていた。実は「カード風」より「ルーズリーフのリフィル風」なのだというのは使ってみて初めてわかった。

 その感じが駄目かというとそんなことはなく、デジタルノートとしては私の中でEvernoteの上位互換になっている(もちろん「ノート」以外の機能はEvernoteに敵うべくもない)。アーカイブの概念があることによって、済んだリフィルをバインダーから外すようにして不可視化し、今現在アクティブなページのみがきちっと整列している。作成日時または更新日時でのソートや、期間や分類でのフィルタリングによって今の自分が把握しておきたい形で一覧できる。これはとても使いやすい。カード間リンクについても色々と機能を搭載していて、今開いているのとは別のカードの内容を、そのカードに移動せずに確認できるようにするなどしている。
 特に、何かゴールがある類の考え事をするのに適している。例えばブログ記事を書くということもそうだ。複数のカードに書いたものをその場で見ながら書くことができるので混乱が少ない。そして記事を書き終わればそのノートについてはとりあえず用済みになり、アーカイブにチェックを入れて、普段は見えない状態にする。ルーズリーフならバインダーから外されて保管用のファイルか何かに収納されるだろうし、それと同じ感覚だ。

 それと上述の記事(背景説明編(ツール製作日誌:カード式アウトライナー②背景説明編)内では「本になるくらいの長い文章を書くために使うことは想定していない」と書いたが、諸々の工夫によってむしろ長い文章が書きやすくなった。実際に本の執筆を試みたわけではないので使い勝手が本当のところどうなのかはまだわからないが、自分が打ち込んだテキストのビューはどうにでもしようがあるので、特別な機能を望まずただ書いていけばいいのなら普通に使えそうな感じがする。アウトライナーとしてより、テキストエディタとして便利になっている。
 他のやり方として、本くらいの規模の場合にはアウトラインはDynalistに作り、本文をProtean Outlinerで書くというのも有り得る。章ごとなどで作ったカード群の本文部分について、任意のカードを任意の順番に並べてまとめてtxtファイルにするということをできるようにしているので(最近付けた機能)、Git管理も簡単である。作業は章ごとにカードを分けた形でやることになるが、出力するのは全部マージした状態のひとつのファイルであり、後から章分けを変えたせいでGitの追跡が混乱するといったこともない。
 ツールを作った時点ではあくまでこれは「アウトライナー」だったので、長文を書く作業の場として活躍するとはあまり思っていなかった。

 一方で、うまくいっていない面もある。元々は豆論文を書いたり読書メモを溜めたりできるようにしたかったはずなのだが、その用途ではいまいち捗らない。つまり「思索を深める」「考えのリンクを張り巡らす」といったことがいまひとつできていない。機能としてはそうできるようにしたつもりなのにもかかわらず。
 各カード内でアウトラインの任意の行を「付箋」にして平面上で操作することができるようにしたり(≒こざね法)、カード自体を任意に平面に並べられるようにしたり(≒KJ法)、複数の粒度で紙片っぽくして扱えるように機能を実装してはいるのだが、それが存分に生かされているとは言い難い。機能自体に「なんか違う」と思っているわけではないし、使っているには使っているものの、「思索を深める場」としての自由自在な感じがない。
 ひとつの要因としては、常に何かしらについて課題解決用ノートとして使っているから、ということが言えそうな気がする。「ゴールがあって、それに向けて考える」という種のことを常にやっている場なのである。その用途で使いやすいように画面はレイアウトされており、豆論文を書くということはその中ではイレギュラーな状態になってしまっている。
 課題解決型の記述に於いては必要な機能が、豆論文を書くには別に要らなかったりするし、平面上の操作についても機能がついてはいるものの「オプション」という位置づけで、それをメインとして私自身が認識できない。つまり、兼ねてはいけないものを兼ねているということだろう。
 となると、豆論文を練る場は別に必要だということになる。既存のツールを見渡すと、素晴らしいツールはたくさんあるが、いずれも私個人の感覚にはどこかしら合っていない部分がある。やはり作るしかないだろうと思う。

 ということで、実はもうツールを作り始めていて基本的な機能を実装したところなのだが、それについてはまた後日書こうと思う。
 

2022/06/02

ツール製作日誌:カード式アウトライナー②背景説明編

 自作の「カード式アウトライナー」についての製作動機・思想説明編。ツール自体についてはツール製作日誌:カード式アウトライナー①機能説明編をどうぞ。


 前回の記事で画面上の要素にひとつひとつ言及したが、肝心なのは「分類と日時で機械的にツリー構造にしたリスト」と「(プロセス型の)アウトライナー機能を含むカード」の二つで成り立っていることである。Evernoteの本文部分がアウトライナーになっているようなものかもしれない。

画像

 これは全体としてはTak.氏の言うプロセス型アウトライナーでもプロダクト型アウトライナーでもない何かであり、そのどちらにもうまく馴染まなかった私が本当に欲していた形式がおそらくこれである。(参照:【基礎講座3】プロセス型アウトライナー|Tak. (Word Piece)|note

 Dynalistを使っていても、あるいはScrapboxを使っていても、結局「混ざってほしくない」ということから「分別」というものが発生して、形式的に分けられたツリーやタグが生まれることになった。混ざってても検索すれば取り出せるじゃんという「合理的な考え方」は「混ざってほしくないという気分」に対しては何の薬にもならないので、「混ざらない」ということが自然に成り立つツールを考える方が結果的に合理的な解決策になったようである。
 そもそも混ざるとか混ざらないとかいうことを考えることになるのは、内容がある程度以上に雑多だからであろう。つまり、アウトラインというものの主目的である「文章を書く」こと以外の情報が多く含まれている状態である。アウトライナーやScrapboxがあらゆる情報に対して威力を発揮するがゆえに、何でも混ざることになる。そうして目的を異にするものが混ざり始めると、積極的にそれらの同居を認めない限り、分類を作って区分したくなるものだろうと思う。
 なお、この「カード式アウトライナー」では、本になるくらいの長い文章を書くために使うことは想定していない。ブログ記事程度なら支障なく書けるが(実際にこの中で書いている)、カードボックス内ではカードは作成日時順に並んでしまうし、章立ての順番を組み替えながら考えるという用途にはあまり向いていない。リンク機能はあるので章立て検討用のカードを作って考えることは可能だが、わざわざこれでやらなくてもという感は否めない。普通に、既存のアウトライナーを使えば良いと思うし、これ以上規模の大きい文章を書く際にはそうするだろうと思う。

 切り口を改めつつ整理すると、まず自分がアウトライナーを使おうとする時には大きく分けて二つの目的、つまり「あらゆる情報を保存し、把握する」と「文章を組み立て、実際に書く」とがある。(タスク管理には元々あまりアウトライナーを活用していないので今回は言及しない。)
 前者についてアウトライナーを使いたくなる理由は、「ツリー状に整理し、一覧できる」というところにある。それは表示の問題なので、必ずしもその構造の全てを手動で作る必要はない。更に、構造が複雑化してくると「どこに配置すべきか」という「位置」を探すのが億劫になるので、だんだんアウトライナーで継続するのが苦しくなってくる場合が多い。一方Scrapboxはその「位置を探す」という手間を一切なくすことに成功しているが、もし「分類」をしたいとなったら逆にやりにくい。分類しない状態で機能するように作られているツールなのだから(すごいことだ)、それはある種当たり前である。
 後者についてアウトライナーを使いたくなる理由は、章立てやパラグラフなどを、自由に組み替えて考えられるからである。いわゆる「分類」はほぼ必要がない。内容をまとめてブロックにしたり、そのブロックを解体して作り直したりということをしたいのであって、構造はそれほど複雑化しない。新たに何かを書き込むという時、それを配置し得る場所はそんなに広範囲にはならず、「探すのに苦労する」ということはまず起こらない。大抵の場合、「ここ」に書きたいという思いがあってそこに書くのである。

 こうしてみると、前者と後者では必要としている要素が全く異なることがわかる。
 前者はそもそも「ツリー」にしたいのであって「アウトライン」ではないかもしれない。しかし「ツリーを作れるツール」として身近で簡便なのが現状アウトライナーなので、ツールを選ぶ際にはアウトライナーが第一の候補になる。ただ、ツリー構造を作るのは簡単だが、それを維持・成長させることにアウトライナーが向いているとは限らない。枝葉の先ひとつひとつを自力で見回ってケアすることになってしまうからだ。
 後者についてはアウトライナーが文句なく適任である。なにしろそのためのツールなのである。
 つまるところ、私としてはこの前者の用途専用のツールと、後者の用途専用のツールがそれぞれあってほしかったのだ。後者については既存のアウトライナーが既に十分な機能を備えており、新たに開発する必要は感じていない。問題は前者であり、それはプロセス型にしろプロダクト型にしろ既存のアウトライナーの延長で考えていても多分納得できる日は来なかっただろうと思う。他方、EvernoteやObsidianなどのツールだと一覧部分の自由度が足りず、見た目もあまり自分好みではなく、自分にとって理想的な表示にならない。今回、自分なりに「正解」のひとつを具現化できたかもしれないという気がしている。
 情報を書き入れる場所は常に「画面の右半分」という一箇所であり、カードの「位置」というのは「どの箱に入れるか」を分類で選択して決めるのであって、置かれる場所を探しに行く必要はない。分類でツリーが構築されるのはObsidianでのタグ機能と似ているが、より「箱に入れている」というイメージを強化し、また自分に必要な情報を付けたり、表示条件を細かくしたり、アウトラインの中身をその場で確認できるようにしたりといった工夫を加えることで、だいぶ違った使用感になっている。

 今回の主題からは外れるが、自作ツールのメリットとして、必要な機能は自分で作って搭載してしまえばいいというのは大きい。基本にある発想がアウトライナーだとしても、全然アウトライナー的でない機能を組み込んでも構わないわけである。
 プラグインという形でカスタマイズができるようになっているツールは様々あるが、プログラマーでない身でそれを実践するのはちょっと容易でない。スキルがあればObsidianやVSCodeなどをカスタマイズして自在に理想の環境を作れるのかもしれないが、自分で作る以前に誰かが作ったプラグインの挙動を理解するのも覚束ない有り様である。イチから自分で素朴に作っていれば、変なところに変な機能を入れてもいいし、自分の手に負えるコードしかそこにはないので、カスタマイズの難易度も下がる。
 ちまちまと進化させて、そのうち自分の脳にぴったりと馴染んだ唯一無二のツールを作れたら良いなと思う。
 

2022/06/02

ツール製作日誌:カード式アウトライナー①機能説明編

 ここ半月ほど、新しいアウトライナーの製作に取り組んでいる。Twitterでは時々それについて呟いているのだが、これと指し示す呼称がなく「今作っているアウトライナー」とか「(引用ツイート内の)これ」とかいう形で呼んでいてもどかしくなってきたので、ズバリ指し示せるように一度記事にしておきたいと思う。


 まず見た目はこんな感じである。

画像

 このツールを一言で表すなら「カード式アウトライナー」だと自分では思っている。というのは、データの基本単位を「カード」とみなし、以下の3つのことを軸にしているからだ。

  • カードは、分類と作成日時によってアウトライン状に整列する
  • カードの中にアウトライナー機能がある
  • カードの中のアウトライン項目を、付箋(≒小さいカード)のように平面に自由配置できる(未実装)

 三番目はまだコードを練っている途中なのだが、そう遠くないうちに実装するだろうと思う。このように「カード」と「アウトライン」をいくつかの観点で結びつけているものなので、自分の中では「カード式アウトライナー」ということにしている。

 作った理由や背景にある考えを語る前に、一体これは何でどう動くものなのかを具体的に書いておきたいと思う。バックグラウンドは記事を分けてツール製作日誌:カード式アウトライナー②背景説明編に書くことにする。

 まず、右ペインでカードの作成・編集をする。上部のInfo欄はメタデータの記入場所で、折り畳むことができる。

画像

 記入日時は、新規作成時に自動で現在日時が設定されるが、自由に変更できるようにしてあり、過去や未来の日時にしたい時にも困らない(そうしたいことは数十件に一件あるかないかという頻度だが、やりたい時にできないと地味に困る)
 用の済んだカードはアーカイブにチェックを入れれば左ペインの一覧から非表示にできる。
 大分類・小分類・件名と三段階の分類がある。ただし、これらは「混ざると気持ち悪いものを混ぜない」「頭を使わずに探し出せるようにする」という為に設定するものであって、図書分類のように内容の種類によって分けるとかいうことではない。後からアクセスする可能性が高くないものは、大分類に「タイムライン」、小分類に「感想」を指定して「とりあえず作成日時順に並べれば目に入る」という形にしている。
 大分類と小分類の選択肢は右の編集ボタンで追加・編集でき、設定は必須にしている。
画像

 件名は空でもよく、過去に使った件名は記入欄をクリックすればサジェストされるようになっている。大分類・小分類が一致しているものがリストの上部に並ぶが、他の分類で使ったものも文字色を薄くした状態で並べるようにしている。
画像

 タグ欄は欄があるだけで使用していないが、「のらてつの茶の間」というミニブログの編集をここでやってしまおうかと考えており、その時に必要になる予定である。

 Info欄の下がカードタイトルで、その下がカードの本体部分となるアウトライナー機能である。(スクリーンショットはこの記事を書くにあたって作ったアウトライン状のメモ)

画像

 アウトラインとしての表示、折り畳み、並べ替えができるので、【基礎講座1】アウトライナーを定義する|Tak. (Word Piece)|noteに示されているアウトライナーの定義は一応満たしているだろうと思う。ズーム機能は無いが、個々のカードが京大式カードくらいの粒度をイメージしたものなので、これ以上のズームは必要としていない。
 アウトライン内にユニークIDの形またはカードタイトルの形で書くと、そのカードのタイトルとアウトラインが下部に構築される。そしてCtrl+クリックでそのカードを開く。今開いているカードが他のカードでリンクされていれば、そのバックリンクも下に並ぶ。また、それぞれのカードだけでなくその中のアウトライン項目にも全てユニークIDが設定されており、あるカードの特定のアウトライン項目に対するリンクも貼ることができるようにしてある。
 今のところはカードAの中にあるアウトライン項目をカードBに移動するというような機能は付けていないが、やろうと思えばどうにかなるので、まあ必要を感じたらそういうこともできるようにしたいと思う。ちなみにグループ化機能(指定した一つ以上の項目を子項目とする親項目を生成する)は実装してある。
 一番下はノート欄になっている。アウトラインではなく普通に文章で書きたい時はここに書く。欄は狭いが文字数制限はない。

 左ペインは謂わばカードボックスになっている。並び順は分類と作成日時(自由に変更可)に依存するが、何を表示するかというのは色々と条件を設定できる。

画像

  • 期間を自由に指定できる。今日を基準にして一週間以内というような基本的な設定はドロップダウンリストで選択できる。
  • 降順か昇順かを指定できる。
  • 大分類のうち、表示するものしないものを指定できる。
  • キーワードでフィルタリングできる。今のところ一語でしか検索できないが、代わりにどの属性の値かを指定できるようにした。無指定なら全属性を検索する。
  • アーカイブ送りにしたカードの表示・非表示を選択できる。
  • フラットモード(大分類ごとに分けず、作成日時順にリスト状に並べる)を選択できる。
  • タイムライン項目は小分類で階層化するか否かを指定できる。
  • それ以外の分類は、件名での階層化、年月日での階層化をするか指定できる。

 これらの指定によって今の自分の気分・関心に合わせた表示をできるようにしている。
 そして並んだカードのタイトル左の「▶」をクリックすれば、そのカードのアウトライン欄の中身を確認することができる。カードボックスなのではあるが、アウトライナーっぽい見た目にもなる。(編集できるようにはしていない。)

画像

 なおフラットモードに設定すると以下のようになる。階層化はされなくなり、作成日や分類は少し主張を抑えた形でタイトルの上に表示される。タイトルの[]内には、ひと目で種類が判るように小分類と件名を表示している。
画像

 機能を書いておかないとどういう発想でできているものか伝わらないだろうと思ってとりあえず基本的な機能を駆け足で記載した。工夫の産物みたいなものはまだ他にあるが、ツールの説明をしたくて書いているのではないので省略する。

 なお、スクリーンショット内にあるように、自分ではこれを「Protean Outliner」と名付けて呼んでいる。読みはプロティエンアウトライナーということになろうか。左ペインの並びを条件次第で色々に変えられることから「変幻自在」的な意味をつけたいと思い、ちょっと調べて出てきたのがこの語で、多分日常で使うことはない文語であろうと思うので固有名詞っぽくするには良いかなと思って選んだ。
 普段Twitterなどで指す時には「(自作の)カード式アウトライナー」というような形で書くことにしようかと思う。

 続きはツール製作日誌:カード式アウトライナー②背景説明編へ。
 

管理人

アイコン画像

のらてつ Noratetsu

キーワード

このブログを検索

検索

ブログ アーカイブ

2025
2024
2023
2022
2021